In developing software for a microcomputer, various development aids are utilized. As a typical example, an in-circuit emulator (ICE) is extensively employed. One of the functions of the ICE is the so-called "address break function" according to which, when the execution of the instructions of the software of a user has proceeded to a certain address, the process is tentatively suspended, and the status of the microcomputer at that time is displayed. In order to realize the break function, a non-maskable interrupt (NMI), which is one of the available interrupt functions of the microcomputer, is employed. More specifically, when a user program has proceeded to an address to which a break is to be applied, this address is detected, and an NMI request is input to the microcomputer. Upon accepting the NMI request, the microcomputer suspends the user program tentatively and shifts its control to the ICE side. Thus, the microcomputer starts the run of an ICE program and performs the display of its internal status, etc. accordingly. Alternatively, when the address to which the break is to be applied is detected, an instruction on that occasion is altered to a software interrupt request instruction (SWI), which is executed, whereby the tentative suspension of the user program similar to the above is effected to shift the control to the ICE side.
Such an in-circuit emulator is described in, for example, "HITACHI MICROCOMPUTER SYSTEM 6305UO/6305VO EMULATOR USERS MANUAL" issued by Hitachi, Ltd. in September 1985.
Meanwhile, a microcomputer having an instruction pre-fetch function has been developed for the purpose of increasing the information processing speed. In this case, a discrepancy may arise between the fetch address of a program and the address of an instruction which is actually executed. Therefore, a break based on an NMI request as stated before incurs the problem that the break occurs immediately at the address of an instruction which is not executed. In such a case, there may be employed the technique as described above wherein, when the address at which the program is to be broken is detected, the instruction on the occasion is replaced with the SWI (software interrupt). For the replacement of the instruction, however, it is required that a bus to which the microcomputer and a memory device storing the program therein are coupled is switched so as to input the instruction word SWI. In this case, in the microcomputer whose speed is raised as stated above, the fetching of the instruction becomes fast, so that the switching of the bus is not in time, and the break as stated above fails to be realized.
Moreover, when the NMI and SWI interrupts are employed for the break of the user program, as described above, the user program becomes subject to the limitation that the interrupt processes, such as NMI and SWI, cannot be applied as they are. Besides, an external circuit needs to be provided for detecting the fact that the data processing function of the microcomputer has shifted to the run of the program on the ICE side. For this reason, the number of components of the in-circuit emulator is increased in correspondence with the external circuit.